翻訳と辞書
Words near each other
・ Fixed wireless
・ Fixed years
・ Fixed-asset turnover
・ Fixed-base operator
・ Fixed-block architecture
・ Fixed-dose combination (antiretroviral)
・ Fixed-focus lens
・ Fixed-function
・ Fixed-gear bicycle
・ Fixed-income attribution
・ Fixed-income relative-value investing
・ Fixed-Mobile Convergence Alliance
・ Fixed-odds betting
・ Fixed-pattern noise
・ Fixed-point arithmetic
Fixed-point combinator
・ Fixed-point index
・ Fixed-point iteration
・ Fixed-point lemma for normal functions
・ Fixed-point property
・ Fixed-point space
・ Fixed-point subgroup
・ Fixed-point subring
・ Fixed-point theorem
・ Fixed-point theorems in infinite-dimensional spaces
・ Fixed-price contract
・ Fixed-priority pre-emptive scheduling
・ Fixed-radius near neighbors
・ Fixed-rate mortgage
・ Fixed-satellite service


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Fixed-point combinator : ウィキペディア英語版
Fixed-point combinator
In computer science, a fixed-point combinator (or fixpoint combinator) is a higher-order function ''y'' that satisfies the equation,
: y\ f = f\ (y\ f)
It is so named because, by setting x = y\ f , it represents a solution to the fixed point equation,
: x = f\ x
A ''fixed point'' of a function ''f'' is a value that doesn't change under the application of the function ''f''. Consider the function f\ x = x^2. The values 0 and 1 are fixed points of this function, because 0 = 0^2 and 1 = 1^2. This function has no other fixed points.
A fixed point combinator need not exist for all functions. Also if ''f'' is a function of more than 1 parameter, the fixed point of the function need not be a total function.
Functions that satisfy the equation for ''y'' expand as,
: y\ f = f\ (\ldots f\ (y\ f) \ldots)
A particular implementation of ''y'' is Curry's paradoxical combinator ''Y'', represented in lambda calculus by,
: \lambda f.(\lambda x.f\ (x\ x))\ (\lambda x.f\ (x\ x))
This combinator may be used in implementing Curry's paradox. The heart of Curry's paradox is that untyped lambda calculus is unsound as a deductive system, and the ''Y'' combinator demonstrates that by allowing an anonymous expression to represent zero, or even many values. This is inconsistent in mathematical logic.
Applied to a function with one variable the ''Y'' combinator usually does not terminate. More interesting results are obtained by applying the ''Y'' combinator to functions of two or more variables. The second variable may be used as a counter, or index. The resulting function behaves like a ''while'' or a ''for'' loop in an imperative language.
Used in this way the ''Y'' combinator implements simple recursion. In the lambda calculus it is not possible to refer to the definition of a function in a function body. Recursion may only be achieved by passing in a function as a parameter. The ''Y'' combinator demonstrates this style of programming.
==Introduction==

The ''Y'' combinator is an implementation of the fixed-point combinator in lambda calculus. Fixed-point combinators may also be easily defined in other functional and imperative languages. The implementation in lambda calculus is more difficult due to limitations in lambda calculus.
The fixed combinator may be used in a number of different areas,
* General mathematics
* Untyped lambda calculus
* Typed lambda calculus
* Functional programming
* Imperative programming
Fixed point combinators may be applied to a range of different functions, but normally will not terminate unless there is an extra parameter. Even with lazy evaluation when the function to be fixed refers to its parameter, another call to the function is invoked. The calculation never gets started. The extra parameter is needed to trigger the start of the calculation.
The type of the fixed point is the return type of the function being fixed. This may be a real or a function or any other type.
In the untyped lambda calculus, the function to apply the fix point combinator to may be expressed using an encoding, like Church encoding. In this case particular lambda terms (which define functions) are considered as values. "Running" (beta reducing) the fixed point combinator on the encoding gives a lambda term for the result which may then be interpreted as fixed point value.
Alternately a function may be considered as a lambda term defined purely in lambda calculus.
These different approaches affect how a mathematician and a programmer may regard a fixed point combinator. A lambda calculus mathematician may see the ''Y'' combinator applied to a function as being an expression satisfying the fixed point equation, and therefore a solution.
In contrast a person only wanting to apply a fixed point combinator to some general programming task may see it only as a means of implementing recursion.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Fixed-point combinator」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.